package server.main.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;
import server.main.mapper.AccountRoleMapper;
import server.main.pojo.Account;
import server.main.pojo.AccountRole;
import server.main.pojo.FunctionPage;

import java.util.List;

/**
 * @auther MingHsZzz
 * @create 2022-08-26-14:53
 */



public interface AccountService extends IService<Account> {


    /**
     * 存储个性化信息
     * @param json 存储的信息
     * @return 是否成功
     */
    public boolean saveper(JSONObject json );




    /**
     * //注册新用户，无权限无时间
     * @param jobnum 工号
     * @param password 密码
     * @return 是否成功
     */
    public boolean register(String jobnum,String password);


    /**
     * 获取导航栏信息
     * @param jobnum 工号
     * @return 结果的json字符串
     */
    public String getMenuJsonString(String jobnum);

    /**
     *
     * @param jobnum 工号
     * @return List<FunctionPage>
     */
    public List<FunctionPage> getFunctionPages(String jobnum);


    /**
     * 获取带有doctor信息的Account
     * @param jobnum 工号
     * @return account对象
     */
    public Page<Account> getCompleteAccMsgByPage(String jobnum, Integer pageNum, Integer pageSize);


    /**
     * 保存accountrole
     * @param accountRoles List<AccountRole>
     * @return 是否成功
     */
    public boolean saveAccountRole(List<AccountRole> accountRoles);

    /**
     * 根据jobnum删除acc
     * @param jobnum 工号
     * @return 是否成功
     */

    public boolean deleteAccountByJonbnum(String jobnum);
}
